<!DOCTYPE html>

<?php
// session_start();
// // store session data
// $_SESSION['views']=1;
?>

<html>
<body>
<?php
// //retrieve session data
// echo "Pageviews=". $_SESSION['views'];

// session_start();
// if(isset($_SESSION['views']))
//   $_SESSION['views']=$_SESSION['views']+1;
// else
//   $_SESSION['views']=1;
// echo "Views=". $_SESSION['views'];

// // unset($_SESSION['views']);
// session_destroy();
// echo "Pageviews=". $_SESSION['views'];

?>
<title>Learn PHP</title>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>

<form action="upload_file.php" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form><br><br>

<form action="testFilter.php" method="get">
Name: <input type="text" name="name"><br>
Age: <input type="text" name="age" />
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

<form action="testFilter.php" method="post">
网址：<input type="text" name="url">
<input type="submit">

<?php
// echo readfile("webdictionary.txt")."<br>";

// $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// echo fread($myfile,filesize("webdictionary.txt"))."<br>";
// fclose($myfile);

// $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// echo fgets($myfile)."<br>";
// fclose($myfile);

// $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// // 输出单行直到 end-of-file
// while(!feof($myfile)) {
//   echo fgets($myfile) . "<br>";
// }
// fclose($myfile);

// $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// // 输出单字符直到 end-of-file
// while(!feof($myfile)) {
//   echo fgetc($myfile);
// }
// fclose($myfile);

// $myfile = fopen("testfile.txt", "w");
// $myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
// $txt = "Bill Gates\n";
// fwrite($myfile, $txt);
// $txt = "Steve Jobs\n";
// fwrite($myfile, $txt);
// $myfile = fopen("newfile.txt", "r") or die("Unable to open file!");
// echo fread($myfile,filesize("newfile.txt"))."<br>";
// fclose($myfile);

// $myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
// $txt = "Mickey Mouse\n";
// fwrite($myfile, $txt);
// $txt = "Minnie Mouse\n";
// fwrite($myfile, $txt);
// fclose($myfile);

// setcookie("user", "Alex Porter", time()+3600);
// Print a cookie
// echo $_COOKIE["user"];
// A way to view all cookies
// print_r($_COOKIE);
// echo "<br>";
// if (isset($_COOKIE["user"]))
//   echo "Welcome " . $_COOKIE["user"] . "!<br />";
// else
//   echo "Welcome guest!<br />";
// set the expiration date to one hour ago
// setcookie("user", "", time()-3600);

// $to = "someone@example.com";
// $subject = "Test mail";
// $message = "Hello! This is a simple email message.";
// $from = "someone@example.com";
// $headers = "From: $from";
// mail($to,$subject,$message,$headers);
// echo "Mail Sent.";

// function spamcheck($field)
//   {
//   //filter_var() sanitizes the e-mail 
//   //address using FILTER_SANITIZE_EMAIL
//   $field=filter_var($field, FILTER_SANITIZE_EMAIL);
//   //filter_var() validates the e-mail
//   //address using FILTER_VALIDATE_EMAIL
//   if(filter_var($field, FILTER_VALIDATE_EMAIL))
//     {
//     return TRUE;
//     }
//   else
//     {
//     return FALSE;
//     }
//   }
// if (isset($_REQUEST['email']))
//   {//if "email" is filled out, proceed
//   //check if the email address is invalid
//   $mailcheck = spamcheck($_REQUEST['email']);
//   if ($mailcheck==FALSE)
//     {
//     echo "Invalid input";
//     }
//   else
//     {//send email
//     $email = $_REQUEST['email'] ; 
//     $subject = $_REQUEST['subject'] ;
//     $message = $_REQUEST['message'] ;
//     mail("someone@example.com", "Subject: $subject",
//     $message, "From: $email" );
//     echo "Thank you for using our mail form";
//     }
//   }
// else
//   {//if "email" is not filled out, display the form
//   echo "<form method='post' action='index.php'>
//   Email: <input name='email' type='text' /><br />
//   Subject: <input name='subject' type='text' /><br />
//   Message:<br />
//   <textarea name='message' rows='15' cols='40'>
//   </textarea><br />
//   <input type='submit' />
//   </form>";
//   }

// // $file=fopen("welcome.txt","r");
// if(!file_exists("welcome.txt"))
//  {
//  die("File not found");
//  }
// else
//  {
//  $file=fopen("welcome.txt","r");
//  }

// //error handler function
// function customError($errno, $errstr)
//  { 
//  echo "<b>Error:</b> [$errno] $errstr";
//  }
// //set error handler
// set_error_handler("customError");
// //trigger error
// echo($test)."<br>";

// $test=2;
// if ($test>1)
// {
// trigger_error("Value must be 1 or below");
// }

// //error handler function
// function customError($errno, $errstr)
//  { 
//  echo "<b>Error:</b> [$errno] $errstr<br />";
//  echo "Ending Script";
//  die();
//  }

// //set error handler
// set_error_handler("customError",E_USER_WARNING);

// //trigger error
// $test=2;
// if ($test>1)
//  {
//  trigger_error("Value must be 1 or below",E_USER_WARNING);
//  }

// //error handler function
// function customError($errno, $errstr)
//  { 
//  echo "<b>Error:</b> [$errno] $errstr<br />";
//  echo "Webmaster has been notified";
//  error_log("Error: [$errno] $errstr",1,
//  "someone@example.com","From: webmaster@example.com");
// }
// //set error handler
// set_error_handler("customError",E_USER_WARNING);
// //trigger error
// $test=2;
// if ($test>1)
//  {
//  trigger_error("Value must be 1 or below",E_USER_WARNING);
//  }

// //create function with an exception
// function checkNum($number)
//  {
//  if($number>1)
//   {
//   throw new Exception("Value must be 1 or below");
//   }
//  return true;
//  }
// //trigger exception
// checkNum(2);

// // 创建 checkNum() 函数。它检测数字是否大于 1。如果是，则抛出一个异常。
// // 在 "try" 代码块中调用 checkNum() 函数。
// // checkNum() 函数中的异常被抛出
// // "catch" 代码块接收到该异常，并创建一个包含异常信息的对象 ($e)。
// // 通过从这个 exception 对象调用 $e->getMessage()，输出来自该异常的错误消息
// //创建可抛出一个异常的函数
// function checkNum($number)
//  {
//  if($number>1)
//   {
//   throw new Exception("Value must be 1 or below");
//   }
//  return true;
//  }
// //在 "try" 代码块中触发异常
// try
//  {
//  checkNum(2);
//  //If the exception is thrown, this text will not be shown
//  echo 'If you see this, the number is 1 or below';
//  }
// //捕获异常
// catch(Exception $e)
//  {
//  echo 'Message: ' .$e->getMessage();
//  }

// class customException extends Exception
// {
// public function errorMessage()
// {
// //error message
// $errorMsg = 'Error on line '.$this->getLine().' in '.$this->getFile()
// .': <b>'.$this->getMessage().'</b> is not a valid E-Mail address';
// return $errorMsg;
// }
// }
// $email = "someone@example.com";
// try
//  {
//  //check if 
//  if(filter_var($email, FILTER_VALIDATE_EMAIL) === FALSE)
//   {
//   //throw exception if email is not valid
//   throw new customException($email);
//   }
//  //check for "example" in mail address
//  if(strpos($email, "example") !== FALSE)
//   {
//   throw new Exception("$email is an example e-mail");
//   }
//  }
// catch (customException $e)
//  {
//  echo $e->errorMessage();
//  }
// catch(Exception $e)
//  {
//  echo $e->getMessage();
//  }

// class customException extends Exception
//  {
//  public function errorMessage()
//   {
//   //error message
//   $errorMsg = $this->getMessage().' is not a valid E-Mail address.';
//   return $errorMsg;
//   }
//  }
// $email = "someone@example.com";
// try
//  {
//  try
//   {
//   //check for "example" in mail address
//   if(strpos($email, "example") !== FALSE)
//    {
//    //throw exception if email is not valid
//    throw new Exception($email);
//    }
//   }
//  catch(Exception $e)
//   {
//   //re-throw exception
//   throw new customException($email);
//   }
//  }
// catch (customException $e)
//  {
//  //display custom message
//  echo $e->errorMessage();
//  }

// // 不存在 "catch" 代码块，而是触发顶层的异常处理程序。应该使用此函数来捕获所有未被捕获的异常。
// function myException($exception)
// {
// echo "<b>Exception:</b> " , $exception->getMessage();
// }
// set_exception_handler('myException');
// throw new Exception('Uncaught Exception occurred');

// $int = 123;
// if(!filter_var($int, FILTER_VALIDATE_INT))
//  {
//  echo("Integer is not valid");
//  }
// else
//  {
//  echo("Integer is valid");
//  }

// $var=300;
// $int_options = array(
// "options"=>array
//  (
//  "min_range"=>0,
//  "max_range"=>256
//  )
// );
// if(!filter_var($var, FILTER_VALIDATE_INT, $int_options))
//  {
//  echo("Integer is not valid");
//  }
// else
//  {
//  echo("Integer is valid");
//  }

function convertSpace($string)
{
return str_replace("_", " ", $string);
}
$string = "Peter_is_a_great_guy!";
echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace"));

?>

</body>
</html>